vs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB1[12], immediateIndexed
dcl_constantbuffer CB2[15], immediateIndexed
dcl_constantbuffer CB5[3], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_input v0.xyz
dcl_input v1.w
dcl_input v2.x
dcl_input v3.xyz
dcl_output_siv o0.xyzw, position
dcl_output o1.xy
dcl_output o2.xyz
dcl_output o3.xyz
dcl_temps 3
mul r0.xyz, v3.yyyy, cb1[9].xywx
mad r0.xyz, v3.xxxx, cb1[8].xywx, r0.xyzx
mad r0.xyz, v3.zzzz, cb1[10].xywx, r0.xyzx
add r0.xyz, r0.xyzx, cb1[11].xywx
div r0.w, l(1.000000, 1.000000, 1.000000, 1.000000), r0.z
mul r0.xy, r0.xyxx, r0.wwww
mad r1.xy, r0.xyxx, l(0.500000, -0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
sample_l_indexable(texture2d)(float,float,float,float) r1.x, r1.xyxx, t0.xyzw, s0, l(0.000000)
ge r1.x, r1.x, r0.z
if_nz r1.x
  mul r1.xy, v0.yyyy, cb1[9].xyxx
  mad r1.xy, v0.xxxx, cb1[8].xyxx, r1.xyxx
  mad r1.xy, v0.zzzz, cb1[10].xyxx, r1.xyxx
  add r1.xy, r1.xyxx, cb1[11].xyxx
  mad r1.xy, r1.xyxx, r0.wwww, -r0.xyxx
  dp2 r0.w, r1.xyxx, r1.xyxx
  sqrt r0.w, r0.w
  mul r0.w, r0.w, cb5[2].x
  dp2 r1.x, cb5[2].yyyy, cb2[14].zzzz
  min r0.w, r0.w, r1.x
  mad r1.xyzw, r0.wwww, l(0.772968, -0.222156, 0.528241, -0.802848), r0.xyxy
  mad r1.xyzw, r1.xyzw, l(0.500000, -0.500000, 0.500000, -0.500000), l(0.500000, 0.500000, 0.500000, 0.500000)
  sample_l_indexable(texture2d)(float,float,float,float) r1.x, r1.xyxx, t0.xyzw, s0, l(0.000000)
  ge r1.x, r1.x, r0.z
  and r1.x, r1.x, l(0x3f800000)
  sample_l_indexable(texture2d)(float,float,float,float) r1.y, r1.zwzz, t0.yxzw, s0, l(0.000000)
  ge r1.y, r1.y, r0.z
  and r1.y, r1.y, l(0x3f800000)
  add r1.x, r1.y, r1.x
  mad r2.xyzw, r0.wwww, l(0.262963, -0.075235, 0.823705, -0.556188), r0.xyxy
  mad r2.xyzw, r2.xyzw, l(0.500000, -0.500000, 0.500000, -0.500000), l(0.500000, 0.500000, 0.500000, 0.500000)
  sample_l_indexable(texture2d)(float,float,float,float) r1.y, r2.xyxx, t0.yxzw, s0, l(0.000000)
  ge r1.y, r1.y, r0.z
  and r1.y, r1.y, l(0x3f800000)
  add r1.x, r1.y, r1.x
  sample_l_indexable(texture2d)(float,float,float,float) r1.y, r2.zwzz, t0.yxzw, s0, l(0.000000)
  ge r1.y, r1.y, r0.z
  and r1.y, r1.y, l(0x3f800000)
  add r1.x, r1.y, r1.x
  mad r2.xyzw, r0.wwww, l(0.569683, 0.121086, 0.398884, -0.411417), r0.xyxy
  mad r2.xyzw, r2.xyzw, l(0.500000, -0.500000, 0.500000, -0.500000), l(0.500000, 0.500000, 0.500000, 0.500000)
  sample_l_indexable(texture2d)(float,float,float,float) r1.y, r2.xyxx, t0.yxzw, s0, l(0.000000)
  ge r1.y, r1.y, r0.z
  and r1.y, r1.y, l(0x3f800000)
  add r1.x, r1.y, r1.x
  sample_l_indexable(texture2d)(float,float,float,float) r1.y, r2.zwzz, t0.yxzw, s0, l(0.000000)
  ge r1.y, r1.y, r0.z
  and r1.y, r1.y, l(0x3f800000)
  add r1.x, r1.y, r1.x
  mad r2.xyzw, r0.wwww, l(0.440016, 0.487990, -0.034640, 0.176342), r0.xyxy
  mad r2.xyzw, r2.xyzw, l(0.500000, -0.500000, 0.500000, -0.500000), l(0.500000, 0.500000, 0.500000, 0.500000)
  sample_l_indexable(texture2d)(float,float,float,float) r1.y, r2.xyxx, t0.yxzw, s0, l(0.000000)
  ge r1.y, r1.y, r0.z
  and r1.y, r1.y, l(0x3f800000)
  add r1.x, r1.y, r1.x
  sample_l_indexable(texture2d)(float,float,float,float) r1.y, r2.zwzz, t0.yxzw, s0, l(0.000000)
  ge r1.y, r1.y, r0.z
  and r1.y, r1.y, l(0x3f800000)
  add r1.x, r1.y, r1.x
  mad r2.xyzw, r0.wwww, l(-0.120323, -0.586049, 0.200466, -0.687419), r0.xyxy
  mad r2.xyzw, r2.xyzw, l(0.500000, -0.500000, 0.500000, -0.500000), l(0.500000, 0.500000, 0.500000, 0.500000)
  sample_l_indexable(texture2d)(float,float,float,float) r1.y, r2.xyxx, t0.yxzw, s0, l(0.000000)
  ge r1.y, r1.y, r0.z
  and r1.y, r1.y, l(0x3f800000)
  add r1.x, r1.y, r1.x
  sample_l_indexable(texture2d)(float,float,float,float) r1.y, r2.zwzz, t0.yxzw, s0, l(0.000000)
  ge r1.y, r1.y, r0.z
  and r1.y, r1.y, l(0x3f800000)
  add r1.x, r1.y, r1.x
  mad r2.xyzw, r0.wwww, l(-0.258614, -0.163080, -0.688321, -0.635556), r0.xyxy
  mad r2.xyzw, r2.xyzw, l(0.500000, -0.500000, 0.500000, -0.500000), l(0.500000, 0.500000, 0.500000, 0.500000)
  sample_l_indexable(texture2d)(float,float,float,float) r1.y, r2.xyxx, t0.yxzw, s0, l(0.000000)
  ge r1.y, r1.y, r0.z
  and r1.y, r1.y, l(0x3f800000)
  add r1.x, r1.y, r1.x
  sample_l_indexable(texture2d)(float,float,float,float) r1.y, r2.zwzz, t0.yxzw, s0, l(0.000000)
  ge r1.y, r1.y, r0.z
  and r1.y, r1.y, l(0x3f800000)
  add r1.x, r1.y, r1.x
  mad r2.xyzw, r0.wwww, l(-0.345086, -0.848096, -0.362813, 0.614420), r0.xyxy
  mad r2.xyzw, r2.xyzw, l(0.500000, -0.500000, 0.500000, -0.500000), l(0.500000, 0.500000, 0.500000, 0.500000)
  sample_l_indexable(texture2d)(float,float,float,float) r1.y, r2.xyxx, t0.yxzw, s0, l(0.000000)
  ge r1.y, r1.y, r0.z
  and r1.y, r1.y, l(0x3f800000)
  add r1.x, r1.y, r1.x
  sample_l_indexable(texture2d)(float,float,float,float) r1.y, r2.zwzz, t0.yxzw, s0, l(0.000000)
  ge r1.y, r1.y, r0.z
  and r1.y, r1.y, l(0x3f800000)
  add r1.x, r1.y, r1.x
  mad r2.xyzw, r0.wwww, l(0.061750, 0.506920, 0.977316, 0.208662), r0.xyxy
  mad r2.xyzw, r2.xyzw, l(0.500000, -0.500000, 0.500000, -0.500000), l(0.500000, 0.500000, 0.500000, 0.500000)
  sample_l_indexable(texture2d)(float,float,float,float) r1.y, r2.xyxx, t0.yxzw, s0, l(0.000000)
  ge r1.y, r1.y, r0.z
  and r1.y, r1.y, l(0x3f800000)
  add r1.x, r1.y, r1.x
  sample_l_indexable(texture2d)(float,float,float,float) r1.y, r2.zwzz, t0.yxzw, s0, l(0.000000)
  ge r1.y, r1.y, r0.z
  and r1.y, r1.y, l(0x3f800000)
  add r1.x, r1.y, r1.x
  mad r2.xyzw, r0.wwww, l(0.789433, 0.490265, -0.702313, -0.071461), r0.xyxy
  mad r2.xyzw, r2.xyzw, l(0.500000, -0.500000, 0.500000, -0.500000), l(0.500000, 0.500000, 0.500000, 0.500000)
  sample_l_indexable(texture2d)(float,float,float,float) r1.y, r2.xyxx, t0.yxzw, s0, l(0.000000)
  ge r1.y, r1.y, r0.z
  and r1.y, r1.y, l(0x3f800000)
  add r1.x, r1.y, r1.x
  sample_l_indexable(texture2d)(float,float,float,float) r1.y, r2.zwzz, t0.yxzw, s0, l(0.000000)
  ge r1.y, r1.y, r0.z
  and r1.y, r1.y, l(0x3f800000)
  add r1.x, r1.y, r1.x
  mad r2.xyzw, r0.wwww, l(-0.495341, 0.233821, 0.179311, 0.962585), r0.xyxy
  mad r2.xyzw, r2.xyzw, l(0.500000, -0.500000, 0.500000, -0.500000), l(0.500000, 0.500000, 0.500000, 0.500000)
  sample_l_indexable(texture2d)(float,float,float,float) r1.y, r2.xyxx, t0.yxzw, s0, l(0.000000)
  ge r1.y, r1.y, r0.z
  and r1.y, r1.y, l(0x3f800000)
  add r1.x, r1.y, r1.x
  sample_l_indexable(texture2d)(float,float,float,float) r1.y, r2.zwzz, t0.yxzw, s0, l(0.000000)
  ge r1.y, r1.y, r0.z
  and r1.y, r1.y, l(0x3f800000)
  add r1.x, r1.y, r1.x
  mad r2.xyzw, r0.wwww, l(-0.930975, -0.327397, -0.912985, 0.241697), r0.xyxy
  mad r2.xyzw, r2.xyzw, l(0.500000, -0.500000, 0.500000, -0.500000), l(0.500000, 0.500000, 0.500000, 0.500000)
  sample_l_indexable(texture2d)(float,float,float,float) r1.y, r2.xyxx, t0.yxzw, s0, l(0.000000)
  ge r1.y, r1.y, r0.z
  and r1.y, r1.y, l(0x3f800000)
  add r1.x, r1.y, r1.x
  sample_l_indexable(texture2d)(float,float,float,float) r1.y, r2.zwzz, t0.yxzw, s0, l(0.000000)
  ge r1.y, r1.y, r0.z
  and r1.y, r1.y, l(0x3f800000)
  add r1.x, r1.y, r1.x
  mad r2.xyzw, r0.wwww, l(-0.217266, 0.972708, -0.697119, 0.529669), r0.xyxy
  mad r2.xyzw, r2.xyzw, l(0.500000, -0.500000, 0.500000, -0.500000), l(0.500000, 0.500000, 0.500000, 0.500000)
  sample_l_indexable(texture2d)(float,float,float,float) r0.w, r2.xyxx, t0.yzwx, s0, l(0.000000)
  ge r0.w, r0.w, r0.z
  and r0.w, r0.w, l(0x3f800000)
  add r0.w, r0.w, r1.x
  sample_l_indexable(texture2d)(float,float,float,float) r1.x, r2.zwzz, t0.xyzw, s0, l(0.000000)
  ge r0.z, r1.x, r0.z
  and r0.z, r0.z, l(0x3f800000)
  add r0.z, r0.z, r0.w
else 
  mov r0.z, l(0)
endif 
mul r1.y, r0.z, l(0.041667)
add r0.z, l(1.000100), -cb5[1].x
div r0.z, l(1.000000, 1.000000, 1.000000, 1.000000), r0.z
add_sat r0.xy, |r0.xyxx|, -cb5[1].xxxx
max r0.x, r0.y, r0.x
mul_sat r0.x, r0.z, r0.x
add r1.x, -r0.x, l(1.000000)
mul r0.xy, r1.xyxx, r1.xyxx
mul r0.x, r0.x, r0.y
lt r0.x, l(0.000000), r0.x
movc r0.xyz, r0.xxxx, v0.xyzx, v3.xyzx
mul r1.xyzw, r0.yyyy, cb1[9].xyzw
mad r1.xyzw, r0.xxxx, cb1[8].xyzw, r1.xyzw
mad r0.xyzw, r0.zzzz, cb1[10].xyzw, r1.xyzw
add o0.xyzw, r0.xyzw, cb1[11].xyzw
mov o2.xyz, l(0,0,0,0)
mov o3.xyz, v3.xyzx
mov o1.x, v2.x
mov o1.y, v1.w
ret